@@ -174,95 +174,3 @@ func TestFetchEpochProposersMap(t *testing.T) {
174174 require .Equal (t , PubkeyHex ("0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a" ), proposersMap [1 ])
175175 require .Equal (t , PubkeyHex ("0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74b" ), proposersMap [2 ])
176176}
177-
178- func TestOnForkchoiceUpdate (t * testing.T ) {
179- mbn := newMockBeaconNode ()
180- defer mbn .srv .Close ()
181-
182- mbn .headersResp = []byte (`{ "data": [ { "header": { "message": { "slot": "31", "proposer_index": "1" } } } ] }` )
183-
184- mbn .proposerDuties [1 ] = []byte (`{
185- "dependent_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
186- "execution_optimistic": false,
187- "data": [
188- {
189- "pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a",
190- "validator_index": "1",
191- "slot": "31"
192- },
193- {
194- "pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74b",
195- "validator_index": "2",
196- "slot": "32"
197- },
198- {
199- "pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74c",
200- "validator_index": "3",
201- "slot": "33"
202- }
203- ]
204- }` )
205-
206- bc := NewBeaconClient (mbn .srv .URL , 32 , 12 )
207- slot , err := bc .onForkchoiceUpdate ()
208- require .NoError (t , err )
209- require .Equal (t , slot , uint64 (32 ))
210-
211- pubkeyHex , err := bc .getProposerForNextSlot (32 )
212- require .NoError (t , err )
213- require .Equal (t , PubkeyHex ("0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74b" ), pubkeyHex )
214-
215- _ , err = bc .getProposerForNextSlot (31 )
216- require .EqualError (t , err , "slot out of sync" )
217-
218- _ , err = bc .getProposerForNextSlot (33 )
219- require .EqualError (t , err , "slot out of sync" )
220-
221- mbn .headersCode = 404
222- mbn .headersResp = []byte (`{ "code": 404, "message": "State not found" }` )
223-
224- slot , err = NewBeaconClient (mbn .srv .URL , 32 , 12 ).onForkchoiceUpdate ()
225- require .EqualError (t , err , "State not found" )
226- require .Equal (t , slot , uint64 (0 ))
227-
228- // Check that client does not fetch new proposers if epoch did not change
229- mbn .headersCode = 200
230- mbn .headersResp = []byte (`{ "data": [ { "header": { "message": { "slot": "31", "proposer_index": "1" } } } ] }` )
231- mbn .proposerDuties [1 ] = []byte (`{
232- "data": [
233- {
234- "pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74d",
235- "validator_index": "4",
236- "slot": "32"
237- }
238- ]
239- }` )
240-
241- slot , err = bc .onForkchoiceUpdate ()
242- require .NoError (t , err , "" )
243- require .Equal (t , slot , uint64 (32 ))
244-
245- mbn .headersResp = []byte (`{ "data": [ { "header": { "message": { "slot": "63", "proposer_index": "1" } } } ] }` )
246- mbn .proposerDuties [2 ] = []byte (`{
247- "data": [
248- {
249- "pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74d",
250- "validator_index": "4",
251- "slot": "64"
252- }
253- ]
254- }` )
255-
256- slot , err = bc .onForkchoiceUpdate ()
257- require .NoError (t , err , "" )
258- require .Equal (t , slot , uint64 (64 ))
259-
260- pubkeyHex , err = bc .getProposerForNextSlot (64 )
261- require .NoError (t , err )
262- require .Equal (t , PubkeyHex ("0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74d" ), pubkeyHex )
263-
264- // Check proposers map error is routed out
265- mbn .headersResp = []byte (`{ "data": [ { "header": { "message": { "slot": "65", "proposer_index": "1" } } } ] }` )
266- _ , err = bc .onForkchoiceUpdate ()
267- require .EqualError (t , err , "inconsistent proposer mapping" )
268- }
0 commit comments