MCPcopy Create free account
hub / github.com/ethstorage/es-node / getRandaoProof

Method getRandaoProof

ethstorage/miner/l1_mining_api.go:236–256  ·  view source on GitHub ↗
(ctx context.Context, blockNumber *big.Int)

Source from the content-addressed store, hash-verified

234}
235
236func (m *l1MiningAPI) getRandaoProof(ctx context.Context, blockNumber *big.Int) ([]byte, error) {
237 var caller interface {
238 HeaderByNumber(context.Context, *big.Int) (*types.Header, error)
239 }
240 if m.rc != nil {
241 caller = m.rc
242 } else {
243 caller = m.Client
244 }
245 blockHeader, err := caller.HeaderByNumber(ctx, blockNumber)
246 if err != nil {
247 m.lg.Error("Failed to get block header", "number", blockNumber, "error", err)
248 return nil, err
249 }
250 headerRlp, err := rlp.EncodeToBytes(blockHeader)
251 if err != nil {
252 m.lg.Error("Failed to encode block header in RLP", "error", err)
253 return nil, err
254 }
255 return headerRlp, nil
256}
257
258func (m *l1MiningAPI) composeCalldata(ctx context.Context, rst result) ([]byte, error) {
259 headerRlp, err := m.getRandaoProof(ctx, rst.blockNumber)

Callers 1

composeCalldataMethod · 0.95

Calls 2

HeaderByNumberMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected