(t *testing.T)
| 187 | } |
| 188 | |
| 189 | func 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 | |
| 228 | func TestUnmarshalItems_OK(t *testing.T) { |
| 229 | drb, err := hexutil.Decode(depositRequestsSSZHex) |
nothing calls this directly
no test coverage detected