From 6294524705482142f474bf2f3fdfca5da3a35603 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Mon, 23 Jun 2025 09:55:19 +0200 Subject: [PATCH 1/2] chore: address feedback from #142 --- pkg/adapter/store.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkg/adapter/store.go b/pkg/adapter/store.go index 700f3604..2dac4adf 100644 --- a/pkg/adapter/store.go +++ b/pkg/adapter/store.go @@ -26,7 +26,7 @@ type Store struct { prefixedStore ds.Batching } -// NewABCIStore creates a new Store with the ABCI prefix. +// NewExecABCIStore creates a new Store with the ABCI prefix. // The data is stored under rollkit database and not in the app's database. func NewExecABCIStore(store ds.Batching) *Store { return &Store{ @@ -36,12 +36,14 @@ func NewExecABCIStore(store ds.Batching) *Store { } } -// LoadState loads the state from disk +// LoadState loads the state from disk. +// When the state does not exist, it returns an empty state. func (s *Store) LoadState(ctx context.Context) (*cmtstate.State, error) { data, err := s.prefixedStore.Get(ctx, ds.NewKey(stateKey)) if err != nil { return nil, fmt.Errorf("failed to get state metadata: %w", err) } + if data == nil { return &cmtstate.State{}, nil } @@ -78,14 +80,15 @@ func (s *Store) SaveBlockResponse(ctx context.Context, height uint64, resp *abci return fmt.Errorf("failed to marshal block response: %w", err) } - key := fmt.Sprintf("%s/%d", blockResponseKey, height) - return s.prefixedStore.Put(ctx, ds.NewKey(key), data) + key := ds.NewKey(blockResponseKey).ChildString(fmt.Sprintf("%d", height)) + return s.prefixedStore.Put(ctx, key, data) } // GetBlockResponse loads the block response from disk for a specific height +// If the block response does not exist, it returns an error. func (s *Store) GetBlockResponse(ctx context.Context, height uint64) (*abci.ResponseFinalizeBlock, error) { - key := fmt.Sprintf("%s/%d", blockResponseKey, height) - data, err := s.prefixedStore.Get(ctx, ds.NewKey(key)) + key := ds.NewKey(blockResponseKey).ChildString(fmt.Sprintf("%d", height)) + data, err := s.prefixedStore.Get(ctx, key) if err != nil { return nil, fmt.Errorf("failed to get block response: %w", err) } From cb122bfcccd1047220c0eca13dae4ac66b739adc Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Mon, 23 Jun 2025 10:04:52 +0200 Subject: [PATCH 2/2] feedback --- pkg/adapter/store.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/adapter/store.go b/pkg/adapter/store.go index 2dac4adf..02736293 100644 --- a/pkg/adapter/store.go +++ b/pkg/adapter/store.go @@ -3,6 +3,7 @@ package adapter import ( "context" "fmt" + "strconv" abci "github.com/cometbft/cometbft/abci/types" cmtstateproto "github.com/cometbft/cometbft/proto/tendermint/state" @@ -80,14 +81,14 @@ func (s *Store) SaveBlockResponse(ctx context.Context, height uint64, resp *abci return fmt.Errorf("failed to marshal block response: %w", err) } - key := ds.NewKey(blockResponseKey).ChildString(fmt.Sprintf("%d", height)) + key := ds.NewKey(blockResponseKey).ChildString(strconv.FormatUint(height, 10)) return s.prefixedStore.Put(ctx, key, data) } // GetBlockResponse loads the block response from disk for a specific height // If the block response does not exist, it returns an error. func (s *Store) GetBlockResponse(ctx context.Context, height uint64) (*abci.ResponseFinalizeBlock, error) { - key := ds.NewKey(blockResponseKey).ChildString(fmt.Sprintf("%d", height)) + key := ds.NewKey(blockResponseKey).ChildString(strconv.FormatUint(height, 10)) data, err := s.prefixedStore.Get(ctx, key) if err != nil { return nil, fmt.Errorf("failed to get block response: %w", err)