Skip to content

Commit dabcacd

Browse files
committed
Fix merge issues
1 parent e09076e commit dabcacd

File tree

4 files changed

+35
-32
lines changed

4 files changed

+35
-32
lines changed

modules/network/keeper/fixtures_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
"github.com/rollkit/go-execution-abci/modules/network/types"
2222
)
2323

24-
func HeaderFixture(signer *ed25519.PrivKey, myAppHash []byte, mutators ...func(*rollkittypes.SignedHeader)) *rollkittypes.SignedHeader {
24+
func HeaderFixture(signer *ed25519.PrivKey, appHash []byte, mutators ...func(*rollkittypes.SignedHeader)) *rollkittypes.SignedHeader {
2525
header := rollkittypes.Header{
2626
BaseHeader: rollkittypes.BaseHeader{
2727
Height: 10,
@@ -30,14 +30,14 @@ func HeaderFixture(signer *ed25519.PrivKey, myAppHash []byte, mutators ...func(*
3030
},
3131
Version: rollkittypes.Version{Block: 1, App: 1},
3232
ProposerAddress: signer.PubKey().Address(),
33-
AppHash: myAppHash,
33+
AppHash: appHash,
3434
DataHash: []byte("data_hash"),
3535
ConsensusHash: []byte("consensus_hash"),
3636
ValidatorHash: []byte("validator_hash"),
3737
}
3838
signedHeader := &rollkittypes.SignedHeader{
3939
Header: header,
40-
Signature: myAppHash,
40+
Signature: appHash,
4141
Signer: rollkittypes.Signer{PubKey: must(crypto.UnmarshalEd25519PublicKey(signer.PubKey().Bytes()))},
4242
}
4343
for _, m := range mutators {

modules/network/keeper/keeper.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ type Keeper struct {
2222
bankKeeper types.BankKeeper
2323
authority string
2424
bitmapHelper *BitmapHelper
25+
blockSource types.BlockSource
2526

2627
// Collections for state management
2728
ValidatorIndex collections.Map[string, uint16]
@@ -42,6 +43,7 @@ func NewKeeper(
4243
sk types.StakingKeeper,
4344
ak types.AccountKeeper,
4445
bk types.BankKeeper,
46+
blockSource types.BlockSource,
4547
authority string,
4648
) Keeper {
4749

@@ -53,6 +55,7 @@ func NewKeeper(
5355
bankKeeper: bk,
5456
authority: authority,
5557
bitmapHelper: NewBitmapHelper(),
58+
blockSource: blockSource,
5659

5760
ValidatorIndex: collections.NewMap(sb, types.ValidatorIndexPrefix, "validator_index", collections.StringKey, collections.Uint16Value),
5861
ValidatorPower: collections.NewMap(sb, types.ValidatorPowerPrefix, "validator_power", collections.Uint16Key, collections.Uint64Value),

modules/network/keeper/msg_server.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func (k msgServer) Attest(goCtx context.Context, msg *types.MsgAttest) (*types.M
6060
return nil, errors.Wrap(err, "store signature")
6161
}
6262

63-
if err := k.updateEpochBitmap(ctx, k.GetEpochForHeight(ctx, msg.Height), valIndexPos); err != nil {
63+
if err := k.updateEpochBitmap(ctx, uint64(msg.Height), valIndexPos); err != nil {
6464
return nil, err
6565
}
6666

modules/network/keeper/msg_server_test.go

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -122,12 +122,10 @@ func TestJoinAttesterSet(t *testing.T) {
122122
func TestAttest(t *testing.T) {
123123
const epochLength = 10
124124
var (
125-
myHash = sha256.Sum256([]byte("app_hash"))
126-
myAppHash = myHash[:]
127-
voteSigner = ed25519.GenPrivKey()
128-
valAddrStr = sdk.ValAddress(voteSigner.PubKey().Address()).String()
129-
validVote = VoteFixture(myAppHash, voteSigner)
130-
validVoteBz = must(proto.Marshal(validVote))
125+
myHash = sha256.Sum256([]byte("app_hash"))
126+
myAppHash = myHash[:]
127+
voteSigner = ed25519.GenPrivKey()
128+
valAddrStr = sdk.ValAddress(voteSigner.PubKey().Address()).String()
131129
)
132130

133131
// Setup test environment with block store
@@ -145,49 +143,53 @@ func TestAttest(t *testing.T) {
145143
var signature rollkittypes.Signature
146144
require.NoError(t, env.BlockStore.SaveBlockData(env.Ctx, signedHeader, data, &signature))
147145

146+
var (
147+
validVote = VoteFixture(myAppHash, voteSigner)
148+
validVoteBz = must(proto.Marshal(validVote))
149+
)
148150
parentCtx := env.Ctx
149151

150152
specs := map[string]struct {
151-
setup func(t *testing.T, env testEnv) testEnv
153+
setup func(t *testing.T, env testEnv) sdk.Context
152154
msg func(t *testing.T) *types.MsgAttest
153155
expErr error
154156
}{
155157
"valid attestation": {
156-
setup: func(t *testing.T, env testEnv) testEnv {
158+
setup: func(t *testing.T, env testEnv) sdk.Context {
157159
require.NoError(t, env.Keeper.SetAttesterSetMember(env.Ctx, valAddrStr))
158160
require.NoError(t, env.Keeper.SetValidatorIndex(env.Ctx, valAddrStr, 0, 100))
159-
return env
161+
return env.Ctx
160162
},
161163
msg: func(t *testing.T) *types.MsgAttest {
162164
return &types.MsgAttest{Validator: valAddrStr, Height: epochLength, Vote: validVoteBz}
163165
},
164166
},
165167
"invalid vote content": {
166-
setup: func(t *testing.T, env testEnv) testEnv {
168+
setup: func(t *testing.T, env testEnv) sdk.Context {
167169
require.NoError(t, env.Keeper.SetAttesterSetMember(env.Ctx, valAddrStr))
168170
require.NoError(t, env.Keeper.SetValidatorIndex(env.Ctx, valAddrStr, 0, 100))
169-
return env
171+
return env.Ctx
170172
},
171173
msg: func(t *testing.T) *types.MsgAttest {
172174
return &types.MsgAttest{Validator: valAddrStr, Height: epochLength, Vote: []byte("not a valid proto vote")}
173175
},
174176
expErr: sdkerrors.ErrInvalidRequest,
175177
},
176178
"validator not in attester set": {
177-
setup: func(t *testing.T, env testEnv) testEnv {
179+
setup: func(t *testing.T, env testEnv) sdk.Context {
178180
require.NoError(t, env.Keeper.SetValidatorIndex(env.Ctx, valAddrStr, 0, 100))
179-
return env
181+
return env.Ctx
180182
},
181183
msg: func(t *testing.T) *types.MsgAttest {
182184
return &types.MsgAttest{Validator: valAddrStr, Height: epochLength, Vote: validVoteBz}
183185
},
184186
expErr: sdkerrors.ErrUnauthorized,
185187
},
186188
"invalid signature": {
187-
setup: func(t *testing.T, env testEnv) testEnv {
189+
setup: func(t *testing.T, env testEnv) sdk.Context {
188190
require.NoError(t, env.Keeper.SetAttesterSetMember(env.Ctx, valAddrStr))
189191
require.NoError(t, env.Keeper.SetValidatorIndex(env.Ctx, valAddrStr, 0, 100))
190-
return env
192+
return env.Ctx
191193
},
192194
msg: func(t *testing.T) *types.MsgAttest {
193195
invalidVote := VoteFixture(myAppHash, voteSigner, func(vote *cmtproto.Vote) {
@@ -198,34 +200,32 @@ func TestAttest(t *testing.T) {
198200
expErr: sdkerrors.ErrInvalidRequest,
199201
},
200202
"not a checkpoint height": {
201-
setup: func(t *testing.T, env testEnv) testEnv {
203+
setup: func(t *testing.T, env testEnv) sdk.Context {
202204
require.NoError(t, env.Keeper.SetAttesterSetMember(env.Ctx, valAddrStr))
203205
require.NoError(t, env.Keeper.SetValidatorIndex(env.Ctx, valAddrStr, 0, 100))
204-
return env
206+
return env.Ctx
205207
},
206208
msg: func(t *testing.T) *types.MsgAttest {
207209
return &types.MsgAttest{Validator: valAddrStr, Height: epochLength + 1, Vote: validVoteBz}
208210
},
209211
expErr: sdkerrors.ErrInvalidRequest,
210212
},
211213
"vote window expired": {
212-
setup: func(t *testing.T, env testEnv) testEnv {
214+
setup: func(t *testing.T, env testEnv) sdk.Context {
213215
require.NoError(t, env.Keeper.SetAttesterSetMember(env.Ctx, valAddrStr))
214216
require.NoError(t, env.Keeper.SetValidatorIndex(env.Ctx, valAddrStr, 0, 100))
215-
env.Ctx = env.Ctx.WithBlockHeight(2*epochLength + 1)
216-
return env
217+
return env.Ctx.WithBlockHeight(2*epochLength + 1)
217218
},
218219
msg: func(t *testing.T) *types.MsgAttest {
219220
return &types.MsgAttest{Validator: valAddrStr, Height: epochLength, Vote: validVoteBz}
220221
},
221222
expErr: sdkerrors.ErrInvalidRequest,
222223
},
223224
"voting for a future epoch": {
224-
setup: func(t *testing.T, env testEnv) testEnv {
225+
setup: func(t *testing.T, env testEnv) sdk.Context {
225226
require.NoError(t, env.Keeper.SetAttesterSetMember(env.Ctx, valAddrStr))
226227
require.NoError(t, env.Keeper.SetValidatorIndex(env.Ctx, valAddrStr, 0, 100))
227-
env.Ctx = env.Ctx.WithBlockHeight(2 * epochLength)
228-
return env
228+
return env.Ctx.WithBlockHeight(2 * epochLength)
229229
},
230230
msg: func(t *testing.T) *types.MsgAttest {
231231
return &types.MsgAttest{Validator: valAddrStr, Height: 3 * epochLength, Vote: validVoteBz}
@@ -238,18 +238,18 @@ func TestAttest(t *testing.T) {
238238
// Create a new environment for each test case with a cached context
239239
testEnv := env
240240
testEnv.Ctx, _ = parentCtx.CacheContext()
241-
testEnv = spec.setup(t, testEnv)
241+
ctx := spec.setup(t, testEnv)
242242

243243
// when
244244
srcMsg := spec.msg(t)
245-
gotRsp, gotErr := testEnv.Server.Attest(testEnv.Ctx, srcMsg)
245+
gotRsp, gotErr := testEnv.Server.Attest(ctx, srcMsg)
246246

247247
// then
248248
if spec.expErr != nil {
249249
require.Error(t, gotErr)
250250
require.ErrorIs(t, gotErr, spec.expErr)
251251
// and ensure the signature is not stored
252-
_, err := testEnv.Keeper.GetSignature(testEnv.Ctx, srcMsg.Height, valAddrStr)
252+
_, err := testEnv.Keeper.GetSignature(ctx, srcMsg.Height, valAddrStr)
253253
assert.ErrorIs(t, err, collections.ErrNotFound)
254254
return
255255
}
@@ -258,13 +258,13 @@ func TestAttest(t *testing.T) {
258258
require.NotNil(t, gotRsp)
259259

260260
// and attestation marked
261-
bitmap, gotErr := testEnv.Keeper.GetAttestationBitmap(testEnv.Ctx, srcMsg.Height)
261+
bitmap, gotErr := testEnv.Keeper.GetAttestationBitmap(ctx, srcMsg.Height)
262262
require.NoError(t, gotErr)
263263
require.NotEmpty(t, bitmap)
264264
require.Equal(t, byte(1), bitmap[0])
265265

266266
// and the signature was stored properly
267-
gotSig, err := testEnv.Keeper.GetSignature(testEnv.Ctx, srcMsg.Height, valAddrStr)
267+
gotSig, err := testEnv.Keeper.GetSignature(ctx, srcMsg.Height, valAddrStr)
268268
require.NoError(t, err)
269269
var vote cmtproto.Vote
270270
require.NoError(t, proto.Unmarshal(srcMsg.Vote, &vote))

0 commit comments

Comments
 (0)