MCPcopy
hub / github.com/OffchainLabs/prysm / TestEncodeExecutionRequests

Function TestEncodeExecutionRequests

proto/engine/v1/electra_test.go:189–226  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

187}
188
189func TestEncodeExecutionRequests(t *testing.T) {
190 t.Run("Empty execution requests should return an empty response and not nil", func(t *testing.T) {
191 ebe := &enginev1.ExecutionRequests{}
192 b, err := enginev1.EncodeExecutionRequests(ebe)
193 require.NoError(t, err)
194 require.NotNil(t, b)
195 require.Equal(t, len(b), 0)
196 })
197 t.Run("Builder deposit and exit requests round-trip", func(t *testing.T) {
198 reqs := &enginev1.ExecutionRequestsGloas{
199 BuilderDeposits: []*enginev1.BuilderDepositRequest{{
200 Pubkey: bytesutil.PadTo([]byte("bpk"), 48),
201 WithdrawalCredentials: bytesutil.PadTo([]byte("wc"), 32),
202 Amount: 64,
203 Signature: bytesutil.PadTo([]byte("sig"), 96),
204 }},
205 BuilderExits: []*enginev1.BuilderExitRequest{{
206 SourceAddress: bytesutil.PadTo([]byte("addr"), 20),
207 Pubkey: bytesutil.PadTo([]byte("bpk"), 48),
208 }},
209 }
210 encoded, err := enginev1.EncodeExecutionRequestsGloas(reqs)
211 require.NoError(t, err)
212 require.Equal(t, 2, len(encoded))
213 require.Equal(t, byte(enginev1.BuilderDepositRequestType), encoded[0][0])
214 require.Equal(t, byte(enginev1.BuilderExitRequestType), encoded[1][0])
215
216 raw := make([][]byte, len(encoded))
217 for i := range encoded {
218 raw[i] = encoded[i]
219 }
220 bundle := &enginev1.ExecutionBundleGloas{ExecutionRequests: raw}
221 decoded, err := bundle.GetDecodedExecutionRequests(params.BeaconConfig().ExecutionRequestLimits())
222 require.NoError(t, err)
223 require.DeepEqual(t, reqs.BuilderDeposits, decoded.BuilderDeposits)
224 require.DeepEqual(t, reqs.BuilderExits, decoded.BuilderExits)
225 })
226}
227
228func TestUnmarshalItems_OK(t *testing.T) {
229 drb, err := hexutil.Decode(depositRequestsSSZHex)

Callers

nothing calls this directly

Calls 9

NoErrorFunction · 0.92
NotNilFunction · 0.92
EqualFunction · 0.92
PadToFunction · 0.92
BeaconConfigFunction · 0.92
DeepEqualFunction · 0.92
lenStruct · 0.85

Tested by

no test coverage detected