@@ -2,9 +2,7 @@ package keeper
22
33import (
44 "context"
5- "errors"
65
7- "cosmossdk.io/collections"
86 sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
97
108 "github.com/rollkit/go-execution-abci/modules/rollkitmngr/types"
@@ -21,9 +19,31 @@ func NewQueryServer(keeper Keeper) types.QueryServer {
2119 return queryServer {Keeper : keeper }
2220}
2321
24- // Sequencers returns the current sequencers.
25- // Note it is only a wrapper around the staking module's query.
26- func (q queryServer ) Sequencers (ctx context.Context , _ * types.QuerySequencersRequest ) (* types.QuerySequencersResponse , error ) {
22+ // Attesters returns the current attesters.
23+ // Note it is only a wrapper around the staking module's query (iff the attesters are enabled).
24+ func (q queryServer ) Attesters (context.Context , * types.QueryAttestersRequest ) (* types.QueryAttestersResponse , error ) {
25+ // err := q.NextSequencers.Walk(ctx, nil, func(key uint64, sequencer types.Sequencer) (bool, error) {
26+ // sequencers = append(sequencers, types.SequencerChanges{
27+ // BlockHeight: key,
28+ // Sequencers: []types.Sequencer{sequencer},
29+ // })
30+ // return false, nil
31+ // })
32+ // if err != nil && !errors.Is(err, collections.ErrNotFound) {
33+ // return nil, err
34+ // }
35+
36+ panic ("unimplemented" )
37+ }
38+
39+ // IsMigrating implements types.QueryServer.
40+ func (q queryServer ) IsMigrating (context.Context , * types.QueryIsMigratingRequest ) (* types.QueryIsMigratingResponse , error ) {
41+ panic ("unimplemented" )
42+ }
43+
44+ // Attesters returns the current attesters.
45+ // Note it is only a wrapper around the staking module's query (iff the attesters are disabled). Otherwise it fetches from the module state.
46+ func (q queryServer ) Sequencer (ctx context.Context , _ * types.QuerySequencerRequest ) (* types.QuerySequencerResponse , error ) {
2747 vals , err := q .stakingKeeper .GetLastValidators (ctx )
2848 if err != nil {
2949 return nil , sdkerrors .ErrLogic .Wrapf ("failed to get last validators" )
@@ -33,37 +53,14 @@ func (q queryServer) Sequencers(ctx context.Context, _ *types.QuerySequencersReq
3353 // In the meantime, this is enough to determine if the chain is using rollkit or not.
3454 // There is one false positive for single validators chains, but those are more often local testnets.
3555 if len (vals ) > 1 {
36- return & types.QuerySequencersResponse {}, sdkerrors .ErrLogic .Wrapf ("chain is currently not using Rollkit" )
37- }
38-
39- sequencers := make ([]types.Sequencer , len (vals ))
40- for i , val := range vals {
41- sequencers [i ] = types.Sequencer {
42- Name : val .GetMoniker (),
43- ConsensusPubkey : val .ConsensusPubkey ,
44- }
45- }
46-
47- return & types.QuerySequencersResponse {
48- Sequencers : sequencers ,
49- }, nil
50- }
51-
52- // SequencersChanges returns the planned sequencers changes.
53- func (q queryServer ) SequencersChanges (ctx context.Context , _ * types.QuerySequencersChangesRequest ) (* types.QuerySequencersChangesResponse , error ) {
54- var sequencers []types.SequencerChanges
55- err := q .NextSequencers .Walk (ctx , nil , func (key uint64 , sequencer types.Sequencer ) (bool , error ) {
56- sequencers = append (sequencers , types.SequencerChanges {
57- BlockHeight : key ,
58- Sequencers : []types.Sequencer {sequencer },
59- })
60- return false , nil
61- })
62- if err != nil && ! errors .Is (err , collections .ErrNotFound ) {
63- return nil , err
56+ // TODO
57+ // chain is using attesters, fallback to something else
6458 }
6559
66- return & types.QuerySequencersChangesResponse {
67- SequencerChanges : sequencers ,
60+ return & types.QuerySequencerResponse {
61+ Sequencer : types.Sequencer {
62+ Name : vals [0 ].GetMoniker (),
63+ ConsensusPubkey : vals [0 ].ConsensusPubkey ,
64+ },
6865 }, nil
6966}
0 commit comments